/**************
 * Graphics.h *
 **************/

// Graphics.h contains some housekeeping functions for graphics

#ifndef GRAPHICS_H
#define GRAPHICS_H

#include <windows.h>
#include "glew.h"
#include <gl\gl.h>
#include <gl\glu.h>

// Begin graphics namespace
namespace graphics
{
	// Width and height for framebuffer
	static int width;
	static int height;

	// Initialize all APIs, resources, etc.
	void initialize();
	
	// Handle window resizing
	void handle_resize(int w, int h);

	// Initialize GL
	int init_gl();

	// V-Sync
	void init_vsync();
	bool vsync_enabled();
	void set_vsync_state(bool enable);

	// Render
	void render(int width, int height);
}
// End graphics namespace

#endif